{"version":3,"file":"./modules/[request].xxxxxxxx.js","mappings":"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","sources":["webpack:///./modules/Expandable.ts","webpack:///./URLChecker.ts","webpack:///./YouTubeManager.ts","webpack:///./modules/FilterNavigation.ts","webpack:///./modules/LayerAdvance.ts","webpack:///../../../node_modules/rxjs/_esm5/internal/operators/takeWhile.js","webpack:///./modules/LayerPage.ts"],"sourcesContent":["import { getOptions, requestAnimationFrameTimer } from '../helpers/helperFunctions';\r\n\r\nexport default class Expandable {\r\n private height: number;\r\n private active: boolean;\r\n\r\n constructor(private container: HTMLElement, private options: ExpandableOptions = {}) {\r\n this.active = this.container.className.includes('active');\r\n this.options = getOptions(this.container, Object.assign(this.getDefaultOptions(), this.options));\r\n this.init();\r\n }\r\n\r\n private init(): Expandable {\r\n this.setElementHeight(this.container, this.getSuitableHeight());\r\n this.setOnResizeHandler();\r\n return this;\r\n }\r\n\r\n private saveInitialHeight(): Expandable {\r\n this.height = this.getElementHeight(this.container);\r\n return this;\r\n }\r\n\r\n private getElementHeight(element: HTMLElement): number {\r\n return element.offsetHeight;\r\n }\r\n\r\n private getSuitableHeight(): string {\r\n return this.active ? '' : this.options.collapsedHeight + 'px';\r\n }\r\n\r\n private setElementHeight(element: HTMLElement, height?: string): Expandable {\r\n element.style.maxHeight = height != null ? height : ''; \r\n\r\n return this;\r\n }\r\n\r\n private toggleState(): Expandable {\r\n this.active = !this.active;\r\n return this;\r\n }\r\n\r\n private getDefaultOptions(): ExpandableOptions {\r\n return {\r\n collapsedHeight: 115\r\n };\r\n }\r\n\r\n private setOnResizeHandler(): Expandable {\r\n NiveaX.addToEventStore('resize', () => requestAnimationFrameTimer(() => this.onResize(), 300), window)\r\n\r\n return this;\r\n }\r\n\r\n private onResize() {\r\n const height = this.getSuitableHeight();\r\n this.setElementHeight(this.container, height);\r\n }\r\n\r\n setCollapsedHeight(value: number): Expandable {\r\n this.options.collapsedHeight = value;\r\n return this;\r\n }\r\n\r\n toggle(): Expandable {\r\n this.toggleState()\r\n .setElementHeight(this.container, this.getSuitableHeight());\r\n return this;\r\n }\r\n\r\n isActive(): boolean {\r\n return this.active;\r\n }\r\n \r\n needToBeShown(): boolean {\r\n return this.height > this.options.collapsedHeight * 1.25;\r\n }\r\n\r\n\r\n clear(): Expandable {\r\n this.setElementHeight(this.container)\r\n .saveInitialHeight();\r\n return this;\r\n }\r\n\r\n render(): Expandable {\r\n const height = this.getSuitableHeight();\r\n this.setElementHeight(this.container, height);\r\n\r\n return this;\r\n }\r\n\r\n getContainer(): HTMLElement {\r\n return this.container;\r\n }\r\n}","/// \r\n\r\nimport { addClasses } from './helpers/DOMHelpers';\r\nimport { getURLParamsArray } from './helpers/helperFunctions';\r\nimport { setCookie } from './helpers/helperFunctions';\r\n \r\ninterface URLCheckerHandler {\r\n [index: string]: (value: string) => any;\r\n}\r\n\r\nconst opaqueSpinnerClasses = ['nx-u-spinner', 'nx-u-spinner--medium', 'nx-u-spinner--opaque'];\r\n\r\nexport default class URLChecker {\r\n constructor(handlers: URLCheckerHandler = {}) {\r\n this.addHandlers(handlers)\r\n .init();\r\n }\r\n\r\n private addHandlers(handlers: URLCheckerHandler): URLChecker {\r\n Object.entries(handlers).forEach(([name, handler]) => this[name] = handler);\r\n return this;\r\n }\r\n\r\n private init(): URLChecker {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n this.hidePageOnFastForward(urlSearchParams);\r\n this.createSourceCookieIfNeeded(urlSearchParams);\r\n \r\n const params = this.getURLParams();\r\n \r\n Object.entries(params).forEach(([handlerName, arg]) => {\r\n this[handlerName](arg);\r\n });\r\n\r\n if (location.hash.match(/layer/g)) {\r\n NiveaX.layer.serviceLayer();\r\n } else {\r\n sessionStorage.removeItem('layers');\r\n }\r\n\r\n return this;\r\n }\r\n\r\n private createSourceCookieIfNeeded(urlSearchParams: URLSearchParams) {\r\n const src = urlSearchParams.get('src');\r\n\r\n if (src) {\r\n setCookie(\"Source\", src, 0);\r\n return;\r\n }\r\n \r\n const utmParams = { \r\n utm_source: urlSearchParams.get('utm_source'), \r\n utm_medium: urlSearchParams.get('utm_medium'), \r\n utm_campaign: urlSearchParams.get('utm_campaign'), \r\n utm_content: urlSearchParams.get('utm_content'), \r\n utm_term: urlSearchParams.get('utm_term') \r\n }\r\n \r\n\r\n Object.keys(utmParams).forEach(key => {\r\n if (utmParams[key] === '' || utmParams[key] === null) {\r\n delete utmParams[key];\r\n }\r\n });\r\n\r\n const queryString = new URLSearchParams(utmParams).toString();\r\n \r\n if (queryString) {\r\n setCookie(\"Source\", queryString, 0);\r\n }\r\n }\r\n\r\n private hidePageOnFastForward(urlSearchParams: URLSearchParams) {\r\n if (urlSearchParams.get('fast-forward')) {\r\n addClasses(document.body, ...opaqueSpinnerClasses);\r\n }\r\n }\r\n\r\n private getURLParams(): URLParams {\r\n const queries = getURLParamsArray(),\r\n params = {};\r\n\r\n queries.forEach((indexQuery: string) => {\r\n const indexPair = indexQuery.split('='),\r\n queryKey = decodeURIComponent(indexPair[0]);\r\n\r\n if (typeof this[queryKey] === 'function') {\r\n params[queryKey] = decodeURIComponent(indexPair.length > 1 ? indexPair[1] : \"\");\r\n }\r\n });\r\n\r\n return params;\r\n }\r\n\r\n layer(mode) {\r\n window.NiveaX.layer.openAsync(mode);\r\n }\r\n\r\n showgrid(mode): void {\r\n new GridBuilder(mode);\r\n }\r\n\r\n nojs(): void {\r\n new JSLoader();\r\n }\r\n}\r\n\r\nclass GridBuilder {\r\n private mode: Number;\r\n\r\n constructor(mode: string) {\r\n this.mode = parseInt(mode);\r\n this.buildGrid();\r\n }\r\n\r\n private buildGrid() {\r\n document.body.classList.add('nx-u-debug-show-grid');\r\n\r\n const debug = this.getDebug(),\r\n container = this.getContainer(),\r\n grid = this.getGrid();\r\n\r\n for (let i = 0; i < 12; i++) {\r\n const col = this.getColumn();\r\n grid.appendChild(col);\r\n }\r\n\r\n debug.appendChild(container);\r\n container.appendChild(grid);\r\n\r\n document.body.appendChild(debug);\r\n }\r\n\r\n private getDebug() {\r\n const debug = document.createElement('div');\r\n debug.classList.add('nx-u-debug-grid');\r\n debug.style.zIndex = '888888';\r\n\r\n return debug;\r\n }\r\n\r\n private getContainer() {\r\n const container = document.createElement('div');\r\n container.classList.add(this.mode === 2 ? 'nx-u-container-fluid' : 'nx-u-container');\r\n return container;\r\n }\r\n\r\n private getGrid() {\r\n const grid = document.createElement('div');\r\n grid.classList.add('nx-u-row');\r\n\r\n return grid;\r\n }\r\n\r\n private getColumn() {\r\n const col = document.createElement('div');\r\n col.classList.add('nx-u-col-1');\r\n return col;\r\n }\r\n}\r\n\r\nclass JSLoader {\r\n private content: string;\r\n\r\n constructor() {\r\n this.saveHTMLInnerTo()\r\n .runAfterAppInitialized(this.onModulesLoaded);\r\n }\r\n\r\n private writeToHTMLNode(content: string): void {\r\n document.documentElement.innerHTML = content;\r\n }\r\n\r\n private saveHTMLInnerTo(): JSLoader {\r\n this.content = document.documentElement.innerHTML;\r\n return this;\r\n }\r\n\r\n private onModulesLoaded = () => {\r\n this.writeToHTMLNode(this.content);\r\n document.removeEventListener('niveax:modulesloaded', this.onModulesLoaded)\r\n }\r\n\r\n private runAfterAppInitialized(func: Callback): JSLoader {\r\n document.addEventListener('niveax:modulesloaded', func);\r\n return this;\r\n }\r\n}","/// \r\n\r\nexport default class YouTubeManager {\r\n\r\n ytModules: any;\r\n playerId: number;\r\n iFrameApiLoaded: boolean;\r\n\r\n constructor() {\r\n this.ytModules = [];\r\n this.playerId = 0;\r\n this.init();\r\n }\r\n\r\n init() {\r\n document.addEventListener('nxOnYouTubeIframeAPIReady', this.onIFrameApiLoaded.bind(this), false);\r\n }\r\n\r\n onIFrameApiLoaded() {\r\n document.removeEventListener('nxOnYouTubeIframeAPIReady', this.onIFrameApiLoaded);\r\n this.removeBlocker();\r\n this.iFrameApiLoaded = true;\r\n }\r\n\r\n registerIFrameVideo(ytModule) {\r\n if (ytModule.playerId === undefined) {\r\n ytModule.playerId = this.getNewPlayerId();\r\n this.ytModules.push(ytModule);\r\n }\r\n if(this.iFrameApiLoaded) {\r\n ytModule.removeBlocker();\r\n }\r\n }\r\n\r\n removeBlocker() {\r\n for (let i = 0; i < this.ytModules.length; i++) {\r\n if (this.ytModules[i].player === undefined) {\r\n this.ytModules[i].removeBlocker();\r\n }\r\n }\r\n }\r\n\r\n getNewPlayerId() {\r\n return this.playerId += 1;\r\n }\r\n\r\n pauseAllVideos() {\r\n this.ytModules.forEach((module) => {\r\n if (module.player !== undefined && module.player.pauseVideo !== undefined) {\r\n module.player.pauseVideo();\r\n }\r\n });\r\n }\r\n\r\n pauseYouTubeVideoById(youTubeVideoId: string) {\r\n this.ytModules.map(ytModule => {\r\n if (ytModule.youTubeId == youTubeVideoId && moduleCanBePaused()) {\r\n ytModule.player.pauseVideo();\r\n }\r\n\r\n function moduleCanBePaused() {\r\n return ytModule.player !== undefined\r\n && ytModule.player.getPlayerState() == 1\r\n && ytModule.player.pauseVideo !== undefined;\r\n }\r\n });\r\n }\r\n}\r\n","import Expandable from './Expandable';\r\nimport { debounce, getOptions, horizontalScrolling, loadParamsFromURL, toggleSelection } from '../helpers/helperFunctions';\r\nimport { createElementFromString, removeClass } from '../helpers/DOMHelpers';\r\n\r\nconst moduleSelector = '[data-module=\"FilterNavigation\"]';\r\n\r\nexport default class FilterNavigation {\r\n private primeLevel: HTMLElement;\r\n private layerItems: HTMLElement[];\r\n private layerLists: HTMLElement[];\r\n private layersStructure: FilterNavLayersStructure;\r\n private _lastActiveItem: HTMLElement;\r\n\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new FilterNavigation(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement, private options: FilterNavigationOptions = {}) {\r\n this.options = getOptions(this.element, Object.assign(this.getDefaultOptions(), this.options));\r\n this.primeLevel = this.element.querySelector(this.options.primeLayerSelector);\r\n this.layerItems = this.getLayerItems(this.element, this.options.layerItemSelector);\r\n this.layerLists = Array.from(this.element.querySelectorAll(this.options.layerListSelector));\r\n this.layersStructure = this.getLayersStructure(this.layerItems);\r\n this.options.state = loadParamsFromURL();\r\n\r\n this.init();\r\n }\r\n\r\n private init(): FilterNavigation {\r\n this.initHorizontalScrolling(this.layerLists)\r\n .initExpanderFirtAndLast()\r\n .addHandlerOnLayerItemsClick()\r\n .recoverFilterNav()\r\n .togglePrimeLayer();\r\n\r\n if (this.element.querySelector('.nx-filter-navigation--display-all')) this.initHeightObserver();\r\n\r\n return this;\r\n }\r\n\r\n private initHeightObserver() {\r\n const setHeight = debounce(() => {\r\n const activeChild = this.element.querySelector('.nx-filter-navigation__level--active') as HTMLElement;\r\n if (activeChild) {\r\n requestAnimationFrame(() => {\r\n this.element.style.height = `${activeChild.offsetHeight}px`;\r\n });\r\n }\r\n }, 50);\r\n\r\n const mutationObserver = new MutationObserver((mutations) => {\r\n mutations.forEach((mutation) => {\r\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\r\n setHeight();\r\n }\r\n });\r\n });\r\n\r\n const resizeObserver = new ResizeObserver(() => {\r\n setHeight();\r\n });\r\n\r\n Array.from(this.element.children).forEach((child) => {\r\n mutationObserver.observe(child, { attributes: true });\r\n resizeObserver.observe(child);\r\n });\r\n\r\n resizeObserver.observe(this.element);\r\n setHeight();\r\n\r\n return this;\r\n }\r\n\r\n private togglePrimeLayer() {\r\n const keysFromDom = Array.from(this.element.querySelectorAll(this.options.layerSelector)).map((list) => list.getAttribute('data-key')).filter(key => key != null),\r\n filterTagsActive = keysFromDom.some(key => this.options.state.hasOwnProperty(key));\r\n\r\n if (!filterTagsActive) {\r\n this.toggleLayer(this.primeLevel.id)\r\n }\r\n\r\n return this;\r\n }\r\n\r\n private initExpanderFirtAndLast(): FilterNavigation {\r\n this.layersStructure[this.primeLevel.id] = new Expandable(this.primeLevel, { collapsedHeight: this.primeLevel.offsetHeight })\r\n\r\n return this\r\n }\r\n\r\n private initHorizontalScrolling(layerLists: HTMLElement[]): FilterNavigation {\r\n layerLists.forEach(list => horizontalScrolling(list));\r\n return this;\r\n }\r\n\r\n private getChildLayerID(layer: HTMLElement): string {\r\n return layer.dataset.id;\r\n }\r\n\r\n private getCurrentLayerID(item: HTMLElement): string {\r\n return this.getCurrentLayer(item).id;\r\n }\r\n\r\n private getCurrentLayer(item: HTMLElement): HTMLElement {\r\n return item.closest(this.options.layerSelector);\r\n }\r\n\r\n private getParentLayerID(item: HTMLElement): string {\r\n return this.getCurrentLayer(item).dataset.parentId;\r\n }\r\n\r\n private getParentLayer(item: HTMLElement): HTMLElement {\r\n return document.getElementById(this.getParentLayerID(item));\r\n }\r\n\r\n private getLayerItems(element, itemSelector): HTMLElement[] {\r\n return Array.from(element.querySelectorAll(itemSelector));\r\n }\r\n\r\n private getLayersStructure(layerItems: HTMLElement[]): FilterNavLayersStructure {\r\n return layerItems.reduce((structure, itm) => {\r\n const id = this.getChildLayerID(itm),\r\n element = document.getElementById(id);\r\n\r\n if (!structure[id] && element) { // && element !== this.primeLevel\r\n structure[id] = new Expandable(element, { collapsedHeight: 0 })\r\n }\r\n\r\n return structure;\r\n }, {})\r\n }\r\n\r\n private addHandlerOnLayerItemsClick(): FilterNavigation {\r\n Array.from(this.element.querySelectorAll('.nx-filter-navigation__item--all'))\r\n .forEach((btn: HTMLElement) => btn.addEventListener('click', () => this.goToPreviousLevel()));\r\n\r\n this.layerItems.forEach(l => l.addEventListener('click', this.onLayerItemClick.bind(this)));\r\n return this;\r\n }\r\n\r\n private onLayerItemClick(event: Event): void {\r\n const target = this._lastActiveItem = event.currentTarget,\r\n childLayerID = this.getChildLayerID(target);\r\n\r\n const activeSiblings = Array.from(target.parentElement.querySelectorAll(`${this.options.layerItemSelector}.${this.options.activeClass}`)).filter(element => element !== target),\r\n countValue = target.querySelector('.nx-filter-navigation__count')?.textContent,\r\n icon = target.querySelector('svg, img')?.cloneNode(true) as HTMLElement,\r\n backBtn = this._lastActiveItem.parentElement?.querySelector(`${this.options.backBtn}`) as HTMLElement;\r\n \r\n this.removePrevActiveSibls(activeSiblings)\r\n target.classList.toggle(this.options.activeClass);\r\n const isActiveFilter = target.classList.contains(this.options.activeClass);\r\n\r\n if(childLayerID ) {\r\n this.runUpdateCB();\r\n this.toggleLayer(this.getCurrentLayerID(target));\r\n this.toggleLayer(childLayerID, true);\r\n this.showBackButton(childLayerID, target.dataset.key, target.textContent, countValue, icon);\r\n\r\n } else {\r\n this.options.updateCB1();\r\n\r\n if(isActiveFilter) {\r\n this.disableBackBtn(backBtn);\r\n } else {\r\n this.enableBackBtn(backBtn);\r\n\r\n const parentLayer = this.getParentLayer(this._lastActiveItem);\r\n const previousActiveItem = parentLayer ? this.getActiveItem(parentLayer) : null; \r\n this._lastActiveItem = previousActiveItem;\r\n } \r\n }\r\n }\r\n\r\n private disableBackBtn(backBtn: HTMLElement) {\r\n backBtn.classList.add(\"nx-back-btn--disabled\")\r\n }\r\n\r\n private enableBackBtn(backBtn:HTMLElement){\r\n backBtn.classList.remove(\"nx-back-btn--disabled\") \r\n }\r\n\r\n private removePrevActiveSibls(activeSiblings): void {\r\n activeSiblings.forEach(activeItem => removeClass(activeItem, this.options.activeClass))\r\n }\r\n\r\n private showBackButton(layerId: string, key?: string, txt?: string, count?: string, icon?: HTMLElement) {\r\n const backBtn = document.getElementById(`${layerId}`)?.querySelector('.nx-filter-navigation__item--all');\r\n const backBtnTxt = backBtn?.querySelector('.nx-filter-navigation__text');\r\n const backBtnArr = backBtn?.querySelector('.nx-filter-navigation__back-btn');\r\n const backBtnCount = backBtn?.querySelector('.nx-filter-navigation__count')\r\n\r\n backBtn.setAttribute(\"data-key\", key)\r\n \r\n backBtnTxt && txt ? backBtnTxt.textContent = txt : \"\";\r\n backBtnCount && count ? backBtnCount.textContent = count : \"\"; \r\n backBtnTxt && backBtnCount ? backBtnTxt.appendChild(backBtnCount) : \"\";\r\n \r\n const backBtnContent = backBtn?.querySelector('.nx-filter-navigation__item-content');\r\n backBtnContent?.querySelector('svg, img')?.remove();\r\n icon && backBtnContent ? backBtnContent.prepend(icon) : \"\";\r\n\r\n !backBtnArr && backBtn?.prepend(this.getBackBtnArrow());\r\n }\r\n\r\n private recoverFilterNav(): FilterNavigation {\r\n const mainNavList = Array.from(this.element.querySelectorAll(this.options.layerSelector));\r\n let activeIsSet = false\r\n const activeFilterTags = []\r\n\r\n for (let i = mainNavList.length - 1; i >=0; i--) {\r\n let dataKey = mainNavList[i].getAttribute('data-key');\r\n let target = mainNavList[i].querySelector(`${this.options.layerItemSelector}[data-key=\"${this.options.state[dataKey]}\"]`) as HTMLElement\r\n\r\n if (this.options.state.hasOwnProperty(dataKey)) {\r\n target.classList.add(this.options.activeClass);\r\n activeFilterTags.push(target)\r\n }\r\n }\r\n\r\n for (let i = mainNavList.length - 1; i >=0; i--) {\r\n let dataKey = mainNavList[i].getAttribute('data-key');\r\n let target = mainNavList[i].querySelector(`${this.options.layerItemSelector}[data-key=\"${this.options.state[dataKey]}\"]`) as HTMLElement\r\n\r\n if (this.options.state.hasOwnProperty(dataKey)) {\r\n const currentLayerID = this.getCurrentLayerID(target)\r\n const childLayerID = this.getChildLayerID(target);\r\n const countValue = target.querySelector('.nx-filter-navigation__count')?.textContent;\r\n const icon = target.querySelector('svg, img')?.cloneNode(true) as HTMLElement;\r\n\r\n if (!activeIsSet) {\r\n if(childLayerID) {\r\n this.toggleLayer(childLayerID, true);\r\n this.showBackButton(childLayerID, target.dataset.key, target.textContent, countValue, icon);\r\n\r\n } else {\r\n target.classList.remove(this.options.activeClass); // fix, not to show broken filter level\r\n const previousActiveItem = activeFilterTags.find(item => item.classList.contains(this.options.activeClass));\r\n\r\n this.toggleLayer(currentLayerID, true);\r\n previousActiveItem && this.showBackButton(currentLayerID, previousActiveItem.dataset.key, previousActiveItem.querySelector('.nx-filter-navigation__text').textContent, countValue, icon);\r\n }\r\n\r\n this._lastActiveItem = target;\r\n activeIsSet = !activeIsSet;\r\n }\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n activeFilterTags.filter(item => {\r\n item.classList.contains(this.options.activeClass) == false && item.click()\r\n })\r\n }, 500);\r\n\r\n return this;\r\n }\r\n\r\n private toggleLayer(id: string, active?): FilterNavigation {\r\n const layerExpandable = this.layersStructure[id],\r\n layerNode = layerExpandable && layerExpandable.getContainer();\r\n \r\n if (layerNode) { \r\n layerExpandable.toggle();\r\n layerNode.classList.toggle('nx-filter-navigation__level--active');\r\n } \r\n\r\n return this;\r\n }\r\n\r\n\r\n hasLayerVisibleItems(node: HTMLElement): boolean {\r\n return node && Array.from(node.querySelectorAll(this.options.layerItemSelector))?.some(itm => (itm).hidden === false);\r\n }\r\n\r\n private goToPreviousLevel(): FilterNavigation {\r\n if(!this._lastActiveItem) return;\r\n\r\n const parentLayer = this.getParentLayer(this._lastActiveItem),\r\n previousActiveItem = parentLayer ? this.getActiveItem(parentLayer) : null,\r\n childLayerID = this.getChildLayerID(this._lastActiveItem),\r\n isLastLevelItem = !childLayerID;\r\n\r\n const currentLayerID = this.getCurrentLayerID(this._lastActiveItem);\r\n const getParentAccFilterText = previousActiveItem?.querySelector('.nx-filter-navigation__text').textContent\r\n const icon = previousActiveItem?.querySelector('svg, img')?.cloneNode(true) as HTMLElement;\r\n\r\n this.deleteActFilterBubble()\r\n this.clearLayer(this.getCurrentLayer(this._lastActiveItem));\r\n this.enableBackBtn(this._lastActiveItem.parentElement?.querySelector(`${this.options.backBtn}`) as HTMLElement)\r\n\r\n if (!isLastLevelItem) {\r\n this.toggleLayer(currentLayerID);\r\n this.toggleLayer(childLayerID)\r\n this.primeLevel.id != currentLayerID ? this.showBackButton(currentLayerID, previousActiveItem?.dataset.key ,getParentAccFilterText, null, icon) : \"\";\r\n }\r\n \r\n this.runUpdateCB()\r\n \r\n this._lastActiveItem = previousActiveItem;\r\n\r\n return this;\r\n }\r\n\r\n private clearLayer(layer: HTMLElement): FilterNavigation {\r\n this.getActiveItem(layer)?.classList.remove(this.options.activeClass);\r\n\r\n return this;\r\n }\r\n \r\n private deleteActFilterBubble(): void {\r\n const activeFilterKey = this._lastActiveItem.dataset.key,\r\n activeFilterTag = document?.querySelector(`.nx-active-filters__item[data-input-name=\"${activeFilterKey}\"]`);\r\n \r\n activeFilterTag && toggleSelection(activeFilterTag.inputElement, false); \r\n }\r\n\r\n private getActiveItem(layer: HTMLElement): HTMLElement {\r\n return layer.querySelector(`${this.options.layerItemSelector}.${this.options.activeClass}`);\r\n }\r\n\r\n private runUpdateCB(): FilterNavigation {\r\n this.options.updateCB();\r\n return this;\r\n }\r\n\r\n\r\n private getBackBtnArrow(): HTMLElement {\r\n return createElementFromString(`\r\n \r\n \r\n \r\n \r\n \r\n `)\r\n }\r\n\r\n private getDefaultOptions(): FilterNavigationOptions {\r\n return {\r\n layerSelector: '.nx-filter-navigation__level',\r\n primeLayerSelector: '.nx-filter-navigation__level--prime',\r\n layerListSelector: '.nx-filter-navigation__list',\r\n layerItemSelector: '.nx-filter-navigation__item',\r\n scrollBarSelector: '.nx-filter-navigation__scrollbar',\r\n activeClass: 'nx-active',\r\n backBtn:'.nx-filter-navigation__item--all'\r\n };\r\n }\r\n}\r\n\r\n\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n FilterNavigation.setup(moduleSelector);\r\n\r\n module.hot.accept(() => {\r\n FilterNavigation.setup(moduleSelector);\r\n });\r\n module.hot.dispose(() => {\r\n nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n });\r\n} else {\r\n FilterNavigation.setup(moduleSelector);\r\n}","import LayerBasic, { BasicLayerOptions } from './LayerBasic';\r\nimport { Optional } from '../typings/mapped-types';\r\nimport {\r\n getOptions,\r\n requestAnimationFrameTimer,\r\n requestNextAnimationFrame,\r\n IOSScroll,\r\n} from '../helpers/helperFunctions';\r\nimport {\r\n addClass,\r\n addClasses,\r\n removeClasses,\r\n} from '../helpers/DOMHelpers';\r\n\r\nconst spinnerClasses = ['nx-u-spinner', 'nx-u-spinner--medium'];\r\n\r\nexport interface LayerAdvanceOptions extends BasicLayerOptions {\r\n beforeOpen: AsyncCallback;\r\n afterOpen: AsyncCallback;\r\n beforeClose: AsyncCallback;\r\n afterClose: AsyncCallback;\r\n}\r\n\r\nexport default class LayerAdvance extends LayerBasic {\r\n protected options: LayerAdvanceOptions;\r\n\r\n constructor(element: HTMLElement, options: Optional = {}) {\r\n super(element, options);\r\n\r\n this.options = getOptions(this.element, this.options);\r\n\r\n this.init();\r\n }\r\n\r\n protected getDefaultOptions(): Optional {\r\n const defOptions = super.getDefaultOptions();\r\n\r\n return {\r\n ...defOptions,\r\n layerModifierClasses: `${defOptions.layerMainClass}--page`,\r\n layerCloseBtnModifierClass: `${defOptions.layerMainClass}__close-btn--page`,\r\n layerCloseIconClass: `${defOptions.layerCloseIconClass} nx-close-icon--thin`,\r\n beforeOpen: async () => { await window.NiveaX.initModules(); },\r\n afterOpen: async () => { },\r\n beforeClose: async () => { },\r\n afterClose: async () => { },\r\n };\r\n }\r\n\r\n protected get isOpen(): boolean {\r\n return document.body.contains(this.layer);\r\n }\r\n\r\n showSpinner(): LayerAdvance {\r\n addClasses(this.layer.querySelector('.nx-layer__wrapper'), ...spinnerClasses);\r\n\r\n if (!this.isOpen) IOSScroll.prevent(true);\r\n super.open();\r\n\r\n return this;\r\n }\r\n\r\n\r\n async open(callback: Callback = () => { }): Promise {\r\n const {\r\n layerMainClass,\r\n beforeOpen,\r\n afterOpen,\r\n } = this.options;\r\n\r\n await beforeOpen();\r\n\r\n this.backButton();\r\n\r\n if (!this.isOpen) IOSScroll.prevent(true);\r\n\r\n removeClasses(this.layer.querySelector('.nx-layer__wrapper'), ...spinnerClasses);\r\n\r\n super.open();\r\n\r\n requestNextAnimationFrame(() => this.layer.classList.add(`${layerMainClass}--open`));\r\n\r\n window.NiveaX.loadShopPrices();\r\n\r\n await afterOpen();\r\n\r\n callback();\r\n }\r\n\r\n async close(callback: Callback = () => { }): Promise {\r\n const {\r\n layerMainClass,\r\n beforeClose,\r\n afterClose,\r\n } = this.options;\r\n\r\n await beforeClose();\r\n\r\n sessionStorage.removeItem('layers');\r\n\r\n addClass(this.layer, `${layerMainClass}--closing`);\r\n\r\n requestAnimationFrameTimer(() => {\r\n removeClasses(this.layer, `${layerMainClass}--open`, `${layerMainClass}--closing`);\r\n super.close();\r\n }, 400);\r\n\r\n if (document.body.classList.contains('nx-u-lock-screen') || document.body.classList.contains('nx-u-prevent-scroll'))\r\n IOSScroll.allow();\r\n\r\n await afterClose();\r\n\r\n callback();\r\n }\r\n\r\n backButton(){\r\n let layersArray;\r\n let layers;\r\n let getLayers = sessionStorage.getItem('layers');\r\n\r\n if (getLayers) {\r\n layersArray = JSON.parse(getLayers);\r\n\r\n if (layersArray.includes(location.hash)) {\r\n let index = layersArray.findIndex(i => i == location.hash) + 1;\r\n layersArray = layersArray.slice(0, index);\r\n layers = [...layersArray]\r\n } else {\r\n layers = [...layersArray, location.hash]\r\n }\r\n } else {\r\n layers = [location.hash]\r\n }\r\n\r\n sessionStorage.setItem('layers', `${JSON.stringify(layers)}`);\r\n\r\n if (layers.length > 1) {\r\n this.layer.classList.add('nx-layer--show-back-tbn');\r\n } else {\r\n this.layer.classList.remove('nx-layer--show-back-tbn');\r\n }\r\n }\r\n}\r\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n return function (source) {\n return source.lift(new TakeWhileOperator(predicate, inclusive));\n };\n}\nvar TakeWhileOperator = /*@__PURE__*/ (function () {\n function TakeWhileOperator(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n TakeWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n };\n return TakeWhileOperator;\n}());\nvar TakeWhileSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeWhileSubscriber, _super);\n function TakeWhileSubscriber(destination, predicate, inclusive) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.inclusive = inclusive;\n _this.index = 0;\n return _this;\n }\n TakeWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n var result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n };\n TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n var destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n };\n return TakeWhileSubscriber;\n}(Subscriber));\n//# sourceMappingURL=takeWhile.js.map\n","import {\r\n fromEvent,\r\n of,\r\n combineLatest,\r\n} from 'rxjs';\r\nimport {\r\n takeUntil,\r\n takeWhile,\r\n switchMap,\r\n filter,\r\n map,\r\n tap,\r\n} from 'rxjs/operators';\r\n\r\nimport LayerAdvance, { LayerAdvanceOptions } from './LayerAdvance';\r\nimport { Optional } from '../typings/mapped-types';\r\nimport { requestAnimationFrameTimer } from '../helpers/helperFunctions';\r\nimport { hasClass, objectToStyleString } from '../helpers/DOMHelpers';\r\n\r\nconst moduleSelector = '[data-module=\"LayerPage\"]';\r\n\r\nexport default class LayerPage extends LayerAdvance {\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new LayerPage(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(element: HTMLElement, options: Optional = {}) {\r\n super(element, options);\r\n\r\n this.listenToEvents();\r\n }\r\n\r\n protected getDefaultOptions(): Optional {\r\n const defOptions = super.getDefaultOptions();\r\n\r\n return {\r\n ...defOptions,\r\n layerModifierClasses: `${defOptions.layerMainClass}--page`,\r\n layerCloseBtnModifierClass: `${defOptions.layerMainClass}__close-btn--page`,\r\n layerCloseIconClass: `${defOptions.layerCloseIconClass} nx-close-icon--thin`,\r\n beforeOpen: async () => { await NiveaX.initModules(); },\r\n afterOpen: async () => {\r\n },\r\n beforeClose: async () => { },\r\n afterClose: async () => { },\r\n };\r\n }\r\n\r\n private listenToEvents(): LayerPage {\r\n const touchStart$ = fromEvent(this.layerContent, 'touchstart', { passive: true }).pipe(filter((e: TouchEvent) => e.target === e.currentTarget)),\r\n touchEnd$ = fromEvent(document, 'touchend', { passive: true }).pipe(tap(() => requestAnimationFrame(() => this.wrapper.removeAttribute('style')))),\r\n touchMove$ = fromEvent(document, 'touchmove', { passive: true }).pipe(map((e: TouchEvent) => e.changedTouches[0].clientY)),\r\n { layerMainClass } = this.options;\r\n\r\n const layerMove$ = touchStart$.pipe(\r\n map((e: TouchEvent) => e.changedTouches[0].clientY),\r\n switchMap(startY => combineLatest(of(startY), touchMove$)\r\n .pipe(\r\n takeUntil(touchEnd$),\r\n takeWhile(() => !hasClass(this.layer, `${layerMainClass}--closing`))))\r\n );\r\n\r\n layerMove$.subscribe(([startY, moveY]) => {\r\n const offsetHeight = document.documentElement.offsetHeight,\r\n endPoint = offsetHeight * 0.3,\r\n translateY = moveY - startY,\r\n percentResult = translateY / endPoint;\r\n\r\n const styles = {\r\n transform: `translateY(${Math.max(translateY, 0)}px) scale(${Math.min(1 - (0.2 * percentResult), 1)})`,\r\n transition: 'none',\r\n overflow: 'hidden',\r\n opacity: Math.min(1 - (0.6 * percentResult), 1),\r\n }\r\n\r\n if (percentResult < 1) {\r\n this.wrapper.setAttribute('style', objectToStyleString(styles));\r\n } else {\r\n this.close();\r\n requestAnimationFrameTimer(() => {\r\n this.wrapper.removeAttribute('style');\r\n }, 300);\r\n }\r\n });\r\n\r\n return this;\r\n }\r\n\r\n getLayerNode(): HTMLElement {\r\n return this.layer;\r\n }\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n LayerPage.setup(moduleSelector);\r\n\r\n module.hot.accept(() => {\r\n LayerPage.setup(moduleSelector);\r\n });\r\n module.hot.dispose(() => {\r\n nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n });\r\n} else {\r\n LayerPage.setup(moduleSelector);\r\n}"],"names":["Expandable","constructor","container","options","this","active","className","includes","Object","assign","getDefaultOptions","init","setElementHeight","getSuitableHeight","setOnResizeHandler","saveInitialHeight","height","getElementHeight","element","offsetHeight","collapsedHeight","style","maxHeight","toggleState","NiveaX","addToEventStore","onResize","window","setCollapsedHeight","value","toggle","isActive","needToBeShown","clear","render","getContainer","opaqueSpinnerClasses","URLChecker","handlers","addHandlers","entries","forEach","name","handler","urlSearchParams","URLSearchParams","location","search","hidePageOnFastForward","createSourceCookieIfNeeded","params","getURLParams","handlerName","arg","hash","match","layer","serviceLayer","sessionStorage","removeItem","src","get","utmParams","utm_source","utm_medium","utm_campaign","utm_content","utm_term","keys","key","queryString","toString","document","body","queries","indexQuery","indexPair","split","queryKey","decodeURIComponent","length","mode","openAsync","showgrid","GridBuilder","nojs","JSLoader","parseInt","buildGrid","classList","add","debug","getDebug","grid","getGrid","i","col","getColumn","appendChild","createElement","zIndex","onModulesLoaded","writeToHTMLNode","content","removeEventListener","saveHTMLInnerTo","runAfterAppInitialized","documentElement","innerHTML","func","addEventListener","YouTubeManager","ytModules","playerId","onIFrameApiLoaded","bind","removeBlocker","iFrameApiLoaded","registerIFrameVideo","ytModule","undefined","getNewPlayerId","push","player","pauseAllVideos","module","pauseVideo","pauseYouTubeVideoById","youTubeVideoId","map","youTubeId","getPlayerState","moduleSelector","FilterNavigation","setup","selector","Array","from","querySelectorAll","filter","node","dataset","moduleInitialized","primeLevel","querySelector","primeLayerSelector","layerItems","getLayerItems","layerItemSelector","layerLists","layerListSelector","layersStructure","getLayersStructure","state","initHorizontalScrolling","initExpanderFirtAndLast","addHandlerOnLayerItemsClick","recoverFilterNav","togglePrimeLayer","initHeightObserver","setHeight","activeChild","requestAnimationFrame","mutationObserver","MutationObserver","mutations","mutation","type","attributeName","resizeObserver","ResizeObserver","children","child","observe","attributes","layerSelector","list","getAttribute","some","hasOwnProperty","toggleLayer","id","getChildLayerID","getCurrentLayerID","item","getCurrentLayer","closest","getParentLayerID","parentId","getParentLayer","getElementById","itemSelector","reduce","structure","itm","btn","goToPreviousLevel","l","onLayerItemClick","event","target","_lastActiveItem","currentTarget","childLayerID","activeSiblings","parentElement","activeClass","countValue","textContent","icon","cloneNode","backBtn","removePrevActiveSibls","isActiveFilter","contains","runUpdateCB","showBackButton","updateCB1","disableBackBtn","enableBackBtn","parentLayer","previousActiveItem","getActiveItem","remove","activeItem","layerId","txt","count","backBtnTxt","backBtnArr","backBtnCount","setAttribute","backBtnContent","prepend","getBackBtnArrow","mainNavList","activeIsSet","activeFilterTags","dataKey","currentLayerID","find","setTimeout","click","layerExpandable","layerNode","hasLayerVisibleItems","hidden","isLastLevelItem","getParentAccFilterText","deleteActFilterBubble","clearLayer","activeFilterKey","activeFilterTag","inputElement","updateCB","scrollBarSelector","spinnerClasses","LayerAdvance","super","defOptions","layerModifierClasses","layerMainClass","layerCloseBtnModifierClass","layerCloseIconClass","beforeOpen","async","initModules","afterOpen","beforeClose","afterClose","isOpen","showSpinner","prevent","open","callback","backButton","loadShopPrices","close","allow","layersArray","layers","getLayers","getItem","JSON","parse","index","findIndex","slice","setItem","stringify","TakeWhileOperator","predicate","inclusive","prototype","call","subscriber","source","subscribe","TakeWhileSubscriber","_super","destination","_this","_next","result","err","error","nextOrComplete","predicateResult","Boolean","next","complete","Subscriber","LayerPage","listenToEvents","touchStart$","fromEvent","layerContent","passive","pipe","e","touchEnd$","tap","wrapper","removeAttribute","touchMove$","changedTouches","clientY","switchMap","startY","combineLatest","of","takeUntil","lift","moveY","translateY","percentResult","styles","transform","Math","max","min","transition","overflow","opacity","getLayerNode"],"sourceRoot":""}